package com.flowerplus.store.common.data.utils;//package com.quncan.peijue.common.data.utils;
//
//import android.app.Service;
//import android.media.Ringtone;
//import android.media.RingtoneManager;
//import android.net.Uri;
//import android.os.Vibrator;
//
//import com.quncan.peijue.ActivityLifecycleCallback;
//import com.quncan.peijue.App;
//import com.quncan.peijue.common.structure.key.SettingKey;
//
///**
// * Created by z on.
// * Des:
// * Date: 2017/5/11
// */
//
//public class PlayNotificationVoiceUtil {
//
//    private static long timeSinglePlay;//上次单聊消息声音的提示时间
//    private static long timeGroupPlay;//上次群聊消息声音的提示时间
//    private static int groupNumPlay;//群声音提示的次数
//
//
//    private static long timeSingleVibrator;//上次单聊消息震动的提示时间
//    private static long timeGroupVibrator;//上次群聊消息震动的提示时间
//    private static int groupNumVibrator;//群震动提示的次数
//
//
//    public static void play(int chatType) {
//        if (!SpUtil.getInstance().getBoolean(SettingKey.SOUND, true)) {
//            return;
//        }
//        boolean aContinue = isContinuePlay(chatType);
//        if (aContinue) {
//            return;
//        }
//        Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
//        Ringtone r = RingtoneManager.getRingtone(App.getApp().getApplicationContext(), notification);
//        r.play();
//    }
//
//    public static void vibration(int chatType) {
//        if (!SpUtil.getInstance().getBoolean(SettingKey.VIBRATION, true)) {
//            return;
//        }
//        boolean aContinue = isContinueVibrator(chatType);
//        if (aContinue) {
//            return;
//        }
//        Vibrator vibrator = (Vibrator) App.getApp().getApplicationContext().getSystemService(Service.VIBRATOR_SERVICE);
//        vibrator.vibrate(500);
//    }
//
//    /**
//     * 未打开软件或切换出去，进行推送时：
//     * 个人消息：每来一条便声音提醒一条
//     * 群消息：只会提醒发送来的第一条消息，后面继续发送的消息便不再声音提醒了
//     * 打开软件时：
//     * 个人消息和群消息是一样进行提醒：2条消息之间的间隔小于等于5秒时，后面的消息便不再声音或振动提醒；若2条消息之间的间隔大于5秒，后面的消息也会有声音或振动提醒。
//     * 例：发送了两条消息，发送的第一条会提醒，发送的第二条消息若和第一条消息之间的间隔小于等于5秒，则第二条消息不会有声音或振动提醒
//     * 若发送的第二条消息和第一条消息之间的间隔大于5秒，则第二条消息也会有声音或振动提醒
//     *
//     * @param chatType
//     * @return
//     */
//
//    //震动判断
//    private static boolean isContinueVibrator(int chatType) {
//        boolean group = ChatTakeFactory.isGroup(chatType);
//        long timeMillis = System.currentTimeMillis();
//        boolean flag = true;
//        if (ActivityLifecycleCallback.count != 0) {
//            groupNumVibrator = 0;
//            if ((timeMillis - timeGroupVibrator > 5000 && timeGroupVibrator > 0)
//                    || (timeMillis - timeSingleVibrator > 5000 && timeSingleVibrator > 0)
//                    || timeGroupVibrator == 0
//                    || timeSingleVibrator == 0) {
//                flag = false;
//            }
//            timeGroupVibrator = timeMillis;
//            timeSingleVibrator = timeMillis;
//        } else {
//            if (group) {
//                if (groupNumVibrator == 0) {
//                    flag = false;
//                    groupNumVibrator = 1;
//                }
//            } else {
//                flag = false;
//            }
//        }
//        if (group) {
//            timeGroupVibrator = timeMillis;
//        } else {
//            timeSingleVibrator = timeMillis;
//        }
//        return flag;
//    }
//
//    //声音播放判断
//    private static boolean isContinuePlay(int chatType) {
//        boolean group = ChatTakeFactory.isGroup(chatType);
//        long timeMillis = System.currentTimeMillis();
//        boolean flag = true;
//        if (ActivityLifecycleCallback.count != 0) {
//            groupNumPlay = 0;
//            if ((timeMillis - timeGroupPlay > 5000 && timeGroupPlay > 0)
//                    || (timeMillis - timeSinglePlay > 5000 && timeSinglePlay > 0)
//                    ||timeGroupPlay==0
//                    ||timeSinglePlay==0) {
//                flag = false;
//            }
//            timeGroupPlay = timeMillis;
//            timeSinglePlay = timeMillis;
//        } else {
//            if (group) {
//                if (groupNumPlay == 0) {
//                    flag = false;
//                    groupNumPlay = 1;
//                }
//            } else {
//                flag = false;
//            }
//        }
//        if (group) {
//            timeGroupPlay = timeMillis;
//        } else {
//            timeSinglePlay = timeMillis;
//        }
//        return flag;
//    }
//}
